A web browser of a computing device typically renders a hypertext markup language (HTML) document, such as a web page, that includes an HTML object. In some situations, the rendered HTML object can include text and image elements. After rendering the HTML document, it may be desirable to further transform the rendered HTML object into an image so that filters, effects or other manipulations can be applied within the rendered HTML document. For example, a user of the computing device may desire to perform drag and drop, a colored multiply or highlighting effect, or other image-rendering operations on the rendered HTML object. However, there is typically no native functionality included in the web browser for allowing the image-rendering operations to be performed directly on the rendered HTML object.
Instead, prior solutions require the web browser, or other application executed by the computing device, to transmit the HTML object to a server over a network. In turn, the server renders the HTML object as an image by using, for example, a headless browser and returns the image to the computing device. The web browser then renders the image within the HTML document to complete the image-rendering operation. However, this interaction between the computing device and the server may be costly in terms of computational time and may be prohibitive in certain circumstances. For example, the user may perceive an unacceptable delay between the time an image-rendering operation is initiated (e.g., an HTML object is selected) and the time the rendering operation completes (e.g., the image is rendered and a highlighting is applied thereto). Similarly, a connection over the network may not exist between the computing device and the server when the image-rendering operation is initiated and, thus, the operation may not be performed.